﻿(function ($) {

    if (!window.platform) { window.platform = new Object(); }
  
    ///////////////////////////////////////////////
    /// 在不弹出关闭提示确认的情况下直接关闭当前浏览器窗口。
    ////////////////////////////////////////////////
    window.closeNoConfirm = function () {
        window.top.opener = null;
        window.top.open('', '_self', '');
        window.top.close();
    };
    ///////////////////////
    /// 给查询表单的text input控件添加回车查询事件
    /// 需要保证 有 aquery 这个查询按钮
    ///////////////////////
    window.platform.bindKeyDownToQueryFormInput = function () {
        $("input[type=text]", "#queryFm").bind("keydown", function (event) {
            if (event.keyCode == 13) {
                $("#aquery", "#queryFm").click();
                event.preventDefault();
            }
        });
        $("input[type=text]:first", "form#queryFm").focus().select();
    };

    window.guid = function () {
        var result = "";
        for (var i = 1; i <= 32; i++) {
            var n = Math.floor(Math.random() * 16.0).toString(16);
            result += n;
            if ((i == 8) || (i == 12) || (i == 16) || (i == 20)) { result += "-"; }
        }
        return result;
    };
    window.platform.loginPage = "/Account/LogIn";
    window.platform.mainFormPage = "/Home/Index";

    //点击注销动作，确认用户是否注销，如果是则注销当前登录并且返回登录界面。
    window.platform.logoutConfirmAndExit = function () {
        $.messager.confirm("操作提醒", "您确定要注销本次登录？", function (q) {
            if (q) {
                window.platform.logoutAndExit();
            }
        });
    };

    //点击退出系统动作，确认用户是否退出系统，如果是则注销当前登录并且关闭当前窗口。
    window.platform.exitSysConfirm = function () {
        $.messager.confirm("操作提醒", "您确定要退出系统并关闭本窗口？", function (q) {
            if (q) {
                window.platform.logout(window.closeNoConfirm);
            }
        });
    };

    //系统注销登录并且返回登录界面。
    window.platform.logoutAndExit = function () {
        window.platform.logout(function (data, textStatus, XMLHttpRequest) {
            var id = "span_" + window.guid().replace("-", "");
            var span = "#" + id;
            var timeout = 5;
            var jump = function () { window.location.href = window.platform.loginPage; };
            $.messager.confirm("操作提醒", "注销成功，系统将会在您点击本窗口的 \"确定\"/\"关闭\" 按钮或者 <span id='" + id + "'>" + timeout + "</span> 秒后跳转到登录页面");
            $(span).parents(".panel-body:first").panel("options").onClose = jump;

            var c = function (value) { $(span).text(value); if (value == 0) { jump(); } };
            var run = function () {
                c(timeout);
                timeout--;
                if (timeout >= 0) { window.setTimeout(run, 1000); }
            };
            window.setTimeout(run);
        });
    };

    //系统注销登录，并在注销后执行一个回调函数。
    window.platform.logout = function (callback) {
        $.post("/Account/LogOut", function (data, textStatus, XMLHttpRequest) {
            if ($.isFunction(callback)) { callback.apply(this, arguments); }
        });
    }


   

   
    
})(jQuery);